2 SI=54272:FOR A=SI TO SI+24:POKE A,0:NEXT A 3 PRINT "[147]":POKE 53280,0:POKE 53281,0:HS=0:X4=0:Y4=0 4 V=53248:X=60:Y=76:X1=240:Y1=30:I=0:B=0:F=56095:CO=0:X2=60:Y2=210:X3=30:Y3=210 5 GOSUB 4000:GOSUB 4999 7 REM ======================== 8 REM **** TITLE SCREEN **** 9 REM ======================== 10 PRINT "[147]":POKE 53280,0:POKE 53281,0 20 FOR A=1 TO 100:X=INT(RND(1)*640)+1:C=INT(RND(1)*6)+2 30 POKE 55456+X,C:POKE 1184+X,46:NEXT A 40 PRINT "[156][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]" 50 PRINT "[145] [154] " 60 PRINT " (C) DOUBLE[146]  [146] SOFTWARE" 70 PRINT "  " 80 PRINT "[156][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 90 PRINTTAB(4)"[158] [223] [223] [223] [223] [223]" 100 PRINTTAB(4)"[158]  [158]  [158]  [158]  [158]  [146] [209]" 110 PRINTTAB(4)"[158]  [158] [223]  [158]  [158]  [158]  [158]  [146] [158]  [158][223]" 120 PRINTTAB(4)"[158][223] [158]  [158]  [158]  [146] [158]  " 130 PRINTTAB(4)"[158]  [158]  [146] [158]  [158]  [158]  [158] [223]  [158] [223][146] [209]" 140 PRINTTAB(4)"[158][223] [158][146][223] [158][146] [223] [158][146][223] [146][158][223] [146][158][223] ":PRINT 150 PRINT TAB(12)"[158] [223] [223] [223] [223] [223] [223]" 160 PRINT TAB(7)"[209] [158]  [158]  [158][146][223] [158]  [158]  [158]  " 170 PRINT TAB(12)"[158]  [158]  [158]  [158]  [146] [158]  [146] [158]  [158]  [158]  [158]  [158]  " 180 PRINT TAB(12)"[158]  [158]  [146] [158]  [146] [158]  [146][169][158]  [158]  [158]  " 190 PRINT TAB(4)"[150][209] [158]  [146] [158]  [158]  [146] [158]  [146] [158]  [158] [223][158]  [158]  [158]  [158] [223]" 200 PRINT TAB(12)"[158][223] [146] [158][223] [146][158][223] [146][158] [223] [146][158] [223] [146][158][223] [146][158][223] [146][158][223] " 210 PRINT:PRINT TAB(8)"DESIGNED BY....[149]BOB LLORET":PRINT 220 PRINT TAB(12)"[158]PRESS [150]F1 [158]TO START" 230 POKE 49522,1:POKE 49523,5:POKE 49524,34:POKE 49525,20:POKE 49526,24 235 POKE 53265,PEEK(53265)OR16 240 POKE 49527,1:SYS 49152:FOR D=1 TO 90:NEXT D 270 GET A$:IF A$<>"[133]" THEN 240 320 POKE 53265,PEEK(53265)AND239 324 REM ===================== 325 REM **** PLAYFIELD **** 326 REM ===================== 330 PRINT "[147]":POKE 53280,0:POKE 53281,0 340 L$="" 350 FOR A=1 TO 75:X=INT(RND(1)*720)+1:C=INT(RND(1)*6)+2 360 POKE 55296+X,C:POKE 1024+X,46:NEXT A 365 PRINT LEFT$(L$,19)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 370 PRINT LEFT$(L$,22)" [146] [159] SCORE " 371 POKE V+21,53:SR=51:GOTO 375 372 POKE V+21,37:SR=35:GOTO 375 373 POKE V+21,5:SR=3 375 GOSUB 620 380 POKE 49522,1:POKE 49523,0:POKE 49524,39:POKE 49525,0:POKE 49526,18 385 POKE 53265,PEEK(53265)OR16 390 Y1=30:POKE V+5,Y1:POKE 49527,1:GOSUB 540 394 REM ===================== 395 REM **** MAIN LOOP **** 396 REM ===================== 400 SYS 49152 401 A=INT(RND(0)*3)+601:ON A-601 GOSUB 601,600 405 POKE 2042,195:B=B+1:IF B=4 THEN GOSUB 610 410 JV=PEEK(56320):FR=JVAND16:JV=15-(JVAND15) 420 IF JV=2 THEN Y=Y+2:IF Y>=180 THEN Y=180:GOSUB 620 430 IF FR<>16THENX4=95:Y4=Y-2:POKEV+12,X4:POKEV+13,Y4:POKEV+21,SR+66:GOTO 900 440 IF JV=1 THEN Y=Y-2:IF Y<=48 THEN Y=48 445 IF Y1<=50 THEN Y1=50 446 IF Y1>=174 THEN Y1=174 450 POKE V+1,Y:POKE V+5,Y1:POKE 2042,194 460 GOTO 400 485 REM ========================== 490 REM **** SAUCER EXPLOSION **** 495 REM ========================== 500 SYS 49152:POKEV+2,X1:POKEV+3,Y1:POKE2042,193:FORD=1TO50:NEXT 501 SYS 49152:POKE SI,0:POKESI+1,0:POKESI+4,16 504 FOR A=15 TO 10 STEP -.5 505 POKESI+24,A:POKESI+4,129:POKESI+1,3:POKE SI,5:POKESI+5,11 506 NEXT A:SYS 49152:HS=HS+100 510 FOR D=1 TO 5:NEXT:SYS 49152:POKE V+21,SR-2 515 PRINT LEFT$(L$,22)TAB(28);"[159]";HS:SYS 49152 520 POKE SI,0:POKESI+1,0:POKESI+4,16:GOTO 380 525 REM ====================== 530 REM **** NEW SAUCER **** 535 REM ====================== 540 POKE SI+24,2:POKE SI+5,64:POKESI+6,130:POKE SI+1,17:POKESI+4,129:POKESI,37 550 SYS 49152:C=INT(RND(0)*3)+3:POKEV+38,C:POKE V+41,1:POKE V+37,2 555 POKEV+21,SR+2:POKE 2042,195 560 SYS 49152:Y1=Y1+3:IF Y1>=100+(C*2) THEN Y1=100+(C*2):RETURN 570 POKE 2042,194 580 POKE V+5,Y1:GOTO 555 600 SYS 49152:Y1=Y1+7:RETURN 601 SYS 49152:Y1=Y1-7:RETURN 607 REM ======================== 608 REM **** FUEL MONITOR **** 609 REM ======================== 610 SYS 49152:F=F-1:POKEF,0:B=0:IFF=56070THENFORZ=56063TOF-1:POKEZ,2:NEXT 612 IF F=56063 THEN H=Y:GOTO 650 615 RETURN 620 PRINT LEFT$(L$,20)" [158] FUEL [156] " 630 F=56095:B=0:RETURN 639 REM ========================== 640 REM ** SPACE SHIP EXPLOSION ** 641 REM ========================== 650 POKE 2040,193:POKEV+21,SR-2:FORD=1 TO 100:NEXT:POKE V+29,1:POKEV+23,1 660 SYS 49152:POKE SI,0:POKESI+1,0:POKESI+4,16:CO=CO+1 670 FOR A=15 TO 8 STEP -.5 680 POKESI+24,A:POKESI+4,129:POKESI+1,3:POKE SI,5:POKESI+5,11 690 NEXT A:SYS 49152 700 FOR D=1 TO 45:NEXT:SYS 49152:POKEV+29,0:POKEV+23,0 710 POKE SI,0:POKESI+1,0:POKESI+4,16:POKEV+21,SR-3 711 IF CO=1 THEN 720 712 IF CO=2 THEN 800 713 IF CO=3 THEN 1000 717 REM ========================== 718 REM **** 2ND SPACE SHIP **** 719 REM ========================== 720 FOR D=1 TO 1000:NEXTD 730 Y2=Y2-1 740 POKEV+9,Y2:IF Y2<=76 THEN Y2=76:Y=Y2:GOTO760 750 GOTO 730 760 POKE 2040,192:POKE V+39,5:POKEV+21,33:POKE V+1,Y 770 Y1=30:POKE V+5,Y1:GOTO 372 797 REM ========================== 798 REM **** 3RD SPACE SHIP **** 799 REM ========================== 800 FOR D=1 TO 1000:NEXT D 810 X3=X3+1 820 POKE V+10,X3:IF X3=60 THEN FOR D=1 TO 500:NEXT D:GOTO 840 830 GOTO 810 840 Y3=Y3-1 850 POKE V+11,Y3:IF Y3=76 THEN Y=Y3:GOTO 870 860 GOTO 840 870 POKE 2040,192:POKE V+39,6:POKE V+21,1:POKE V+1,Y 880 Y1=30:POKE V+5,Y1:GOTO 373 900 SYS 49152:FOR A=1 TO 25:X4=X4+5:POKEV+12,X4:NEXT A:SYS 49152:POKEV+21,SR+2 910 IF PEEK(V+30)AND64=64 THEN 500 920 GOTO 440 1000 POKE V+21,0:PRINT"[147]":POKE 53280,0:POKE 53281,7 1010 FOR A=1 TO 8 1020 PRINT LEFT$(L$,3)TAB(12)" " 1025 FOR D=1 TO 150:NEXT D 1030 PRINT LEFT$(L$,3)TAB(12)"[156]COMPUTER REPORT" 1035 FOR D=1 TO 150:NEXT D:NEXT A 1040 IF HS<=5000 THEN 1060 1045 PRINT LEFT$(L$,7)TAB(8)"[144]S C O R E ";HS 1050 MSG$=" CONGRATULATIONS.....YOUR MISSION WAS A SUCCESS !!" 1055 GOTO 1200 1060 MSG$=" MICROZ HAS DEFEATED YOU AGAIN !!" 1070 PRINT LEFT$(L$,7)TAB(8)"[144]S C O R E ";HS 1200 FOR A=1 TO LEN(MSG$) 1210 PRINT "[156]";LEFT$(L$,10)LEFT$(MSG$,A) 1220 FOR D=1 TO 150:NEXT D:NEXT A 1230 END 3980 REM ======================= 3990 REM **** SPRITE DATA **** 3995 REM ======================= 4000 FOR S1=12288 TO 12350:READ D1:POKES1,D1:NEXT S1 4005 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4010 DATA 240,56,0,124,68,0,63,255,224,63,255,252,63,255,255 4015 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4020 POKE V+39,2:POKE 2040,192:POKE V,X:POKE V+1,Y 4025 FOR S2=12352 TO 12414:READ D2:POKE S2,D2:NEXT 4030 DATA 128,0,0,64,0,24,104,0,57,52,48,114,26,56,100,14,184,200,2 4035 DATA 185,0,0,178,0,252,176,58,240,32,252,1,1,255,126,0,0,16,132 4040 DATA 15,35,4,64,70,6,32,140,34,56,24,182,92,51,182,110,101,172 4045 DATA 82,73,176,0,0,128,0 4050 POKE 2041,193:POKE V+40,2 4060 FOR S3=12416 TO 12478:READ CH:POKE S3,CH:NEXT 4070 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,3,255,192,15,255,240,63,255,252 4080 DATA 255,255,255,85,85,85,187,187,187,85,85,85,255,255,255 4090 DATA 63,255,252,15,255,240,3,255,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0 4100 POKE 2042,194:POKEV+28,4 4110 POKE V+4,X1:POKE V+5,Y1 4120 FOR S4=12480 TO 12542:READ D4:POKE S4,D4:NEXT 4130 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,3,255,192,15,255,240,63,255,252 4140 DATA 255,255,255,85,85,85,238,238,238,85,85,85,255,255,255 4150 DATA 63,255,252,15,255,240,3,255,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0 4160 POKE 2043,195:POKE V+41,1:POKEV+28,4:POKE V+37,5:POKEV+38,4 4170 FOR S5=12544 TO 12606:READ D5:POKES5,D5:NEXT S5 4180 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4190 DATA 240,56,0,124,68,0,63,255,224,63,255,252,63,255,255 4200 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4210 POKE2044,196:POKEV+43,5:POKEV+8,X2:POKEV+9,Y2 4220 FOR S6=12608 TO 12670:READ D6:POKES6,D6:NEXT S6 4230 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4240 DATA 240,56,0,124,68,0,63,255,224,63,255,252,63,255,255 4250 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4260 POKE2045,197:POKEV+44,6:POKEV+10,X3:POKEV+11,Y3 4270 FOR S7=12672 TO 12734:READ D7:POKE S7,D7:NEXT S7 4280 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4290 DATA 0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4300 DATA 0,0,0,0,0,0 4310 POKE 2046,198:POKEV+45,2 4320 RETURN 4985 REM ========================== 4990 REM ** ML SCREEN SUBROUTINE ** 4995 REM ========================== 4999 FOR I=1 TO 4:READ A:NEXT:READ LO,HI:FORI=LO TO HI:READX:POKE I,X:NEXT 5000 DATA 11507,12573,12522,11001 5005 DATA 49152, 49528 5006 RETURN 5010 DATA 174,114,193,224,3,144,3,76,117,192,188,114,193,140,121,193,174 5020 DATA 118,193,232,202,32,30,193,172,121,193,173,119,193,201,2,208,10 5030 DATA 169,32,72,173,33,208,72,76,50,192,177,90,72,177,92,72,204 5040 DATA 116,193,240,20,200,177,90,72,177,92,136,145,92,104,145,90,200 5050 DATA 204,116,193,208,238,240,18,136,177,90,72,177,92,200,145,92,104 5060 DATA 145,90,136,204,115,193,208,238,173,119,193,201,0,208,5,104,104 5070 DATA 76,111,192,104,145,92,104,145,90,236,117,193,208,160,96,172,116 5080 DATA 193,200,189,114,193,170,32,30,193,173,120,193,201,2,208,19,136 5090 DATA 169,32,153,122,193,173,33,208,153,162,193,204,115,193,208,239,240 5100 DATA 16,136,177,90,153,122,193,177,92,153,162,193,204,115,193,208,240 5110 DATA 236,117,193,240,37,202,32,30,193,172,116,193,200,136,177,90,72 5120 DATA 177,92,32,48,193,145,92,104,145,90,32,56,193,204,115,193,208 5130 DATA 234,236,117,193,208,221,240,46,202,206,118,193,232,32,30,193,172 5140 DATA 116,193,200,136,32,48,193,177,90,72,177,92,32,56,193,145,92 5150 DATA 104,145,90,204,115,193,208,234,236,118,193,208,221,238,118,193,232 5160 DATA 32,30,193,173,120,193,201,0,240,20,172,115,193,136,200,185,162 5170 DATA 193,145,92,185,122,193,145,90,204,116,193,208,240,96,189,89,193 5180 DATA 133,91,24,105,212,133,93,189,64,193,133,90,133,92,96,72,152 5190 DATA 24,105,40,168,104,96,72,152,56,233,40,168,104,96,0,40,80 5200 DATA 120,160,200,240,24,64,104,144,184,224,8,48,88,128,168,208,248 5210 DATA 32,72,112,152,192,4,4,4,4,4,4,4,5,5,5,5,5 5220 DATA 5,6,6,6,6,6,6,6,7,7,7,7,7,3,0,4,0 5230 DATA 4,1,1